#include <stdbool.h>

#define N 10

typedef int E;

typedef struct {
	E elements[N];
	int front;
	int rear;
	int size;
} Queue;

Queue* queue_create();
void queue_destroy(Queue* q);

void queue_push(Queue* q, int val);
int	queue_pop(Queue* q);
int queue_peek(Queue* q);

bool queue_empty(Queue* q);
bool queue_full(Queue* q);
